package com.link2room.ironhide.entity;

import com.link2room.common.entity.BaseEntity;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * Created by sss on 2016/8/25.
 */
@Entity
@Table(name = "l2r_hotel_baseinfo", catalog = "")
public class L2RHotelBaseinfo extends BaseEntity{
    public enum L2RHotelBaseinfo_{
        name,usedName,status,country,province,city,district,address,
        longitude,latitude,positionType,telReception,telBooking,tel400,
        brand,roomNum,descript,descriptM,bookListOrder,hotelTag,searchCode
    }
    /**
     * 酒店名称
     */
    private String name;
    private String nameEn;
    /**
     * 曾用名
     */
    private String usedName;
    /**
     * 酒店状态：筹备:PRE/试营业:TRIAL/开业:OPEN/装修:DEC/停业:CLOSED
     */
    private String status;
    /**
     * 国家编码
     */
    private String country;
    /**
     * 省份编码
     */
    private Long province;
    /**
     * 城市编码
     */
    private Long city;
    /**
     * 地区编码
     */
    private Long district;
    /**
     * 酒店地址
     */
    private String address;
    private String addressEn;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 坐标类型
     */
    private String positionType;
    /**
     * 酒店前台电话
     */
    private String telReception;
    /**
     * 酒店预订电话
     */
    private String telBooking;
    /**
     * 酒店400电话
     */
    private String tel400;
    /**
     * 酒店品牌
     */
    private String brand;
    /**
     * 酒店房数
     */
    private Integer roomNum;
    /**
     * 酒店描述
     */
    private String descript;
    private String descriptEn;
    /**
     * 酒店描述移动端
     */
    private String descriptM;
    private String descriptMEn;
    /**
     * 预订排序
     */
    private Integer bookListOrder;
    /**
     * 酒店标签
     */
    private String hotelTag;
    /**
     * 查询CODE
     */
    private String searchCode;

    @Basic
    @Column(name = "name", nullable = false, length = 64)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Basic
    @Column(name = "name_en", nullable = true, length = 64)
    public String getNameEn() {
        return nameEn;
    }

    public void setNameEn(String nameEn) {
        this.nameEn = nameEn;
    }

    @Basic
    @Column(name = "used_name", nullable = true, length = 64)
    public String getUsedName() {
        return usedName;
    }

    public void setUsedName(String usedName) {
        this.usedName = usedName;
    }

    @Basic
    @Column(name = "status", nullable = false, length = 8)
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "country", nullable = true, length = 16)
    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    @Basic
    @Column(name = "province", nullable = true, length = 16)
    public Long getProvince() {
        return province;
    }

    public void setProvince(Long province) {
        this.province = province;
    }

    @Basic
    @Column(name = "city", nullable = true, length = 16)
    public Long getCity() {
        return city;
    }

    public void setCity(Long city) {
        this.city = city;
    }

    @Basic
    @Column(name = "district", nullable = true, length = 16)
    public Long getDistrict() {
        return district;
    }

    public void setDistrict(Long district) {
        this.district = district;
    }

    @Basic
    @Column(name = "address", nullable = true, length = 200)
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Basic
    @Column(name = "address_en", nullable = true, length = 200)
    public String getAddressEn() {
        return addressEn;
    }

    public void setAddressEn(String addressEn) {
        this.addressEn = addressEn;
    }

    @Basic
    @Column(name = "longitude", nullable = true, length = 20)
    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    @Basic
    @Column(name = "latitude", nullable = true, length = 20)
    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    @Basic
    @Column(name = "position_type", nullable = true, length = 5)
    public String getPositionType() {
        return positionType;
    }

    public void setPositionType(String positionType) {
        this.positionType = positionType;
    }

    @Basic
    @Column(name = "tel_reception", nullable = true, length = 16)
    public String getTelReception() {
        return telReception;
    }

    public void setTelReception(String telReception) {
        this.telReception = telReception;
    }

    @Basic
    @Column(name = "tel_booking", nullable = true, length = 16)
    public String getTelBooking() {
        return telBooking;
    }

    public void setTelBooking(String telBooking) {
        this.telBooking = telBooking;
    }

    @Basic
    @Column(name = "tel_400", nullable = true, length = 16)
    public String getTel400() {
        return tel400;
    }

    public void setTel400(String tel400) {
        this.tel400 = tel400;
    }

    @Basic
    @Column(name = "brand", nullable = true, length = 32)
    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    @Basic
    @Column(name = "room_num", nullable = true)
    public Integer getRoomNum() {
        return roomNum;
    }

    public void setRoomNum(Integer roomNum) {
        this.roomNum = roomNum;
    }

    @Basic
    @Column(name = "descript", nullable = true, length = -1)
    public String getDescript() {
        return descript;
    }

    public void setDescript(String descript) {
        this.descript = descript;
    }

    @Basic
    @Column(name = "descript_en", nullable = true, length = -1)
    public String getDescriptEn() {
        return descriptEn;
    }

    public void setDescriptEn(String descriptEn) {
        this.descriptEn = descriptEn;
    }

    @Basic
    @Column(name = "descript_m", nullable = true, length = -1)
    public String getDescriptM() {
        return descriptM;
    }

    public void setDescriptM(String descriptM) {
        this.descriptM = descriptM;
    }

    @Basic
    @Column(name = "descript_m_en", nullable = true, length = -1)
    public String getDescriptMEn() {
        return descriptMEn;
    }

    public void setDescriptMEn(String descriptMEn) {
        this.descriptMEn = descriptMEn;
    }

    @Basic
    @Column(name = "book_list_order", nullable = true)
    public Integer getBookListOrder() {
        return bookListOrder;
    }

    public void setBookListOrder(Integer bookListOrder) {
        this.bookListOrder = bookListOrder;
    }


    @Basic
    @Column(name = "hotel_tag", nullable = true, length = 255)
    public String getHotelTag() {
        return hotelTag;
    }

    public void setHotelTag(String hotelTag) {
        this.hotelTag = hotelTag;
    }

    @Basic
    @Column(name = "search_code", nullable = true, length = 64)
    public String getSearchCode() {
        return searchCode;
    }

    public void setSearchCode(String searchCode) {
        this.searchCode = searchCode;
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        L2RHotelBaseinfo that = (L2RHotelBaseinfo) o;

        if (name != null ? !name.equals(that.name) : that.name != null) return false;
        if (usedName != null ? !usedName.equals(that.usedName) : that.usedName != null) return false;
        if (status != null ? !status.equals(that.status) : that.status != null) return false;
        if (country != null ? !country.equals(that.country) : that.country != null) return false;
        if (province != null ? !province.equals(that.province) : that.province != null) return false;
        if (city != null ? !city.equals(that.city) : that.city != null) return false;
        if (district != null ? !district.equals(that.district) : that.district != null) return false;
        if (address != null ? !address.equals(that.address) : that.address != null) return false;
        if (longitude != null ? !longitude.equals(that.longitude) : that.longitude != null) return false;
        if (latitude != null ? !latitude.equals(that.latitude) : that.latitude != null) return false;
        if (positionType != null ? !positionType.equals(that.positionType) : that.positionType != null) return false;
        if (telReception != null ? !telReception.equals(that.telReception) : that.telReception != null) return false;
        if (telBooking != null ? !telBooking.equals(that.telBooking) : that.telBooking != null) return false;
        if (tel400 != null ? !tel400.equals(that.tel400) : that.tel400 != null) return false;
        if (brand != null ? !brand.equals(that.brand) : that.brand != null) return false;
        if (roomNum != null ? !roomNum.equals(that.roomNum) : that.roomNum != null) return false;
        if (descript != null ? !descript.equals(that.descript) : that.descript != null) return false;
        if (descriptM != null ? !descriptM.equals(that.descriptM) : that.descriptM != null) return false;
        if (bookListOrder != null ? !bookListOrder.equals(that.bookListOrder) : that.bookListOrder != null)
            return false;
        if (hotelTag != null ? !hotelTag.equals(that.hotelTag) : that.hotelTag != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = name != null ? name.hashCode() : 0;
        result = 31 * result + (usedName != null ? usedName.hashCode() : 0);
        result = 31 * result + (status != null ? status.hashCode() : 0);
        result = 31 * result + (country != null ? country.hashCode() : 0);
        result = 31 * result + (province != null ? province.hashCode() : 0);
        result = 31 * result + (city != null ? city.hashCode() : 0);
        result = 31 * result + (district != null ? district.hashCode() : 0);
        result = 31 * result + (address != null ? address.hashCode() : 0);
        result = 31 * result + (longitude != null ? longitude.hashCode() : 0);
        result = 31 * result + (latitude != null ? latitude.hashCode() : 0);
        result = 31 * result + (positionType != null ? positionType.hashCode() : 0);
        result = 31 * result + (telReception != null ? telReception.hashCode() : 0);
        result = 31 * result + (telBooking != null ? telBooking.hashCode() : 0);
        result = 31 * result + (tel400 != null ? tel400.hashCode() : 0);
        result = 31 * result + (brand != null ? brand.hashCode() : 0);
        result = 31 * result + (roomNum != null ? roomNum.hashCode() : 0);
        result = 31 * result + (descript != null ? descript.hashCode() : 0);
        result = 31 * result + (descriptM != null ? descriptM.hashCode() : 0);
        result = 31 * result + (bookListOrder != null ? bookListOrder.hashCode() : 0);
        result = 31 * result + (hotelTag != null ? hotelTag.hashCode() : 0);
        return result;
    }




}
